<!-- saved from url=(0014)about:internet --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<!-- Standard Head Part -->
<head>
<title>NUnit - Assertions</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-US">
<link rel="stylesheet" type="text/css" href="nunit.css">
<link rel="shortcut icon" href="favicon.ico">
</head>
<!-- End Standard Head Part -->

<body>

<!-- Standard Header for NUnit.org -->
<div id="header">
  <a id="logo" href="http://www.nunit.org"><img src="img/logo.gif" alt="NUnit.org" title="NUnit.org"></a>
  <div id="nav">
    <a href="http://www.nunit.org">NUnit</a>
    <a class="active" href="index.html">Documentation</a>
  </div>
</div>
<!-- End of Header -->

<div id="content">

<h2>Assertions</h2>

<p>Assertions are central to unit testing in any of the xUnit frameworks, and NUnit 
	is no exception. NUnit provides a rich set of assertions as static methods of 
	the Assert class.</p>

<p>If an assertion fails, the method call does not return and an error is reported. 
	If a test contains multiple assertions, any that follow the one that failed 
	will not be executed. For this reason, it's usually best to try for one 
	assertion per test.</p>

<p>Each method may be called without a message, with a simple text message or with 
	a message and arguments. In the last case the message is formatted using the 
	provided text and arguments.</p>
	
<h3>Two Models</h3>

<p>Before NUnit 2.4, a separate method of the Assert class was used for each
   different assertion. We call this the "Classic Model." It
   continues to be supported in NUnit, since many people prefer it.</p>

<p>Beginning with NUnit 2.4, a new "Constraint-based" model was 
   introduced. This approach uses a single method of the Assert class
   for all assertions, passing a <a href="constraintModel.html">Constraint</a>   object that specifies the test to be performed.

<p>This constraint-based model is now used internally by NUnit
   for all assertions. The methods of the classic approach have been 
   re-implemented on top of this new model.
   
   <!--
<h4>See Also...</h4>
<ul>
<li>
</ul>
-->

</div>

<!-- Submenu -->
<div id="subnav">
<ul>
<li><a href="index.html">NUnit 2.5</a></li>
<ul>
<li><a href="getStarted.html">Getting&nbsp;Started</a></li>
<li id="current"><a href="assertions.html">Assertions</a></li>
<ul>
<li><a href="equalityAsserts.html">Equality&nbsp;Asserts</a></li>
<li><a href="identityAsserts.html">Identity&nbsp;Asserts</a></li>
<li><a href="conditionAsserts.html">Condition&nbsp;Asserts</a></li>
<li><a href="comparisonAsserts.html">Comparison&nbsp;Asserts</a></li>
<li><a href="typeAsserts.html">Type&nbsp;Asserts</a></li>
<li><a href="exceptionAsserts.html">Exception&nbsp;Asserts</a></li>
<li><a href="utilityAsserts.html">Utility&nbsp;Methods</a></li>
<li><a href="stringAssert.html">String&nbsp;Assert</a></li>
<li><a href="collectionAssert.html">Collection&nbsp;Assert</a></li>
<li><a href="fileAssert.html">File&nbsp;Assert</a></li>
<li><a href="directoryAssert.html">Directory&nbsp;Assert</a></li>
</ul>
<li><a href="constraintModel.html">Constraints</a></li>
<li><a href="attributes.html">Attributes</a></li>
<li><a href="nunit-console.html">Console&nbsp;Runner</a></li>
<li><a href="nunit-gui.html">Gui&nbsp;Runner</a></li>
<li><a href="configFiles.html">Configuration&nbsp;Files</a></li>
<li><a href="pnunit.html">PNUnit</a></li>
<li><a href="multiAssembly.html">Multiple&nbsp;Assemblies</a></li>
<li><a href="vsSupport.html">Visual&nbsp;Studio&nbsp;Support</a></li>
<li><a href="extensibility.html">Extensibility</a></li>
<li><a href="releaseNotes.html">Release&nbsp;Notes</a></li>
<li><a href="samples.html">Samples</a></li>
<li><a href="license.html">License</a></li>
</ul>
</ul>
</div>
<!-- End of Submenu -->


<!-- Standard Footer for NUnit.org -->
<div id="footer">
  Copyright &copy; 2009 Charlie Poole. All Rights Reserved.
</div>
<!-- End of Footer -->

</body>
</html>
